package main

import (
	"UpdateManagerServer/dbmgr"
	_ "UpdateManagerServer/routers"
	"UpdateManagerServer/tasks"
	"os"

	"github.com/beego/beego/v2/core/logs"
	beego "github.com/beego/beego/v2/server/web"
)

func main() {
	dbmgr.DBInit()
	// task.StartTask() // 在main函数中启动
	// defer task.StopTask()
	tasks.InitTimeTask()

	logPath := "./logs"

	// 检测目录是否存在
	if _, err := os.Stat(logPath); os.IsNotExist(err) {
		// 递归创建目录（包括父目录）
		if err := os.MkdirAll(logPath, 0755); err != nil {
			panic(err)
		}
	}

	// 基础配置
	logs.EnableFuncCallDepth(true)
	logs.Async(1e3)

	// 1. 全量日志（记录所有级别）
	err := logs.SetLogger(logs.AdapterFile, `{
		"filename":"./logs/all.log",		
		"maxdays":30,
		"daily":true
	}`)
	if err != nil {
		panic(err)
	}

	// 2. 按级别分离日志
	err = logs.SetLogger(logs.AdapterMultiFile, `{
		"filename":"./logs/app.log",
		"separate":["error","warning","info","debug"],
		"maxsize":5242880,
		"daily":true
	}`)
	if err != nil {
		panic(err)
	}

	beego.Run()
}
